$(function() {
    $('#objetivo-grid> table> tbody>tr').live('click', function() {
        var fila = $(this).children('td')[0];
        var checkbox = $(fila).children(':checkbox');
        cambioEstadoObjetivo($(checkbox).val());
    });
    //asignacion de clientes a operadores 
    //automática
    $("a#li_asignar_auto").click(function(e) {
        e.preventDefault();
        asignarOperadorTodos();
        $(this).parent('li').addClass('hidden');
    });
    //seleccionados
    $("a#li_asignar_seleccionados").click(function(e) {
        e.preventDefault();
        clientes = $("#cuenta-grid").selGridView("getAllSelection");
        if (clientes != '') {
            loadModalActionSelected("campanias/campaniaClientesOwner/AjaxAsignarOperador", {selected: clientes, campania_id: entidad_id});
        } else {
            bootbox.alert("Seleccione al menos un Cliente.");
        }
    });
    //automática
    $("a#li_asignar_todos").click(function(e) {
        e.preventDefault();
        clientes = 'all';
        loadModalActionSelected("campanias/campaniaClientesOwner/AjaxAsignarOperador", {selected: clientes, campania_id: entidad_id});
    });
    /** Acciones (sms, mail) **/
    //mail
    //seleccionados
    $("a#li_email_seleccionados").click(function(e) {
        e.preventDefault();
        clientes = $("#cuenta-grid").selGridView("getAllSelection");
//        console.log(clientes);
        if (clientes != '') {
            loadModalActionSelected("campanias/campania/ajaxCargarMedioEnvio", {campania_owner_id: clientes, campania_id: entidad_id});
        } else {
            bootbox.alert("Seleccione al menos un Cliente.");
        }
    });
    //todos
    $("a#li_email_todos").click(function(e) {
        e.preventDefault();
        loadModalActionSelected("campanias/campania/ajaxCargarMedioEnvio", {campania_owner_id: "todos", campania_id: entidad_id});
    });
    //sms
    //seleccionados
    $("a#li_sms_seleccionados").click(function(e) {
        e.preventDefault();
        clientes = $("#cuenta-grid").selGridView("getAllSelection");
        if (clientes != '') {
            loadModalActionSelected("sms/sms/ajaxCargarFormularioCampania", {selected: clientes, campania_id: entidad_id});
        } else {
            bootbox.alert("Seleccione al menos un Cliente.");
        }
    });
    //todos
    $("a#li_sms_todos").click(function(e) {
        e.preventDefault();
        loadModalActionSelected("sms/sms/ajaxCargarFormularioCampania", {selected: 'all', campania_id: entidad_id});
    });
});

/******************************Funciones de Entidades Principales*********************************/
function AjaxAgregarUsuarios(grip_id)
{
    console.log($("#addUserNew-grid").selGridView("getAllSelection"));
}
/**
 * @author Alex Yepez <ayepez@tradesystem.com.ec>
 * @param {type} lista
 * actualiza un determinada lista y el calendario
 */
function ActualizarInformacion(lista)
{
    var listaActual = lista.replace('#', '');
    if ($(lista).length == 0)
    {

        window.location.reload();
    }
    else
    {
        $.fn.yiiGridView.update(listaActual);
        AjaxActualizarActividades();
    }

}

function AjaxActualizarActividades()
{
    //actualizacion del scroll actividades 
    updateAtivites();
//    var url = baseUrl + "campanias/campania/ajaxCargarActividades/id/" + entidad_id;
//    //actualizacion actividades
//    AjaxUpdateElement(url, "#portlet_actividades", function() {
//    });
}
//Acciónes de calendario
/**
 * @author Alex Yepez <ayepez@tradesystem.com.ec>
 * @param {type} event
 * @param {type} accion
 * carga de modal view desde el calendario
 */
function AjaxModalEntidad(event, accion)
{
    var control = event.className;
    var Module_Model = control.toString().split("_");
    var url = Module_Model[0] + '/' + Module_Model[1] + '/' + accion + '/id/' + Module_Model[2] + '/tipo/contacto';
    viewModal(url, function() {
    });
}
/******************************Funciones Ajax*****************************************************/
/**
 * @author Alex Yepez <ayepez@tradesystem.com.ec>
 * @param {type} Formulario
 * guarda los _form_modal por ajax para contacto, tarea, oportunidad, evento y cobranza
 */
function AjaxAtualizacionInformacion(Formulario)
{

    BloquearBotonesModal(Formulario);
    AjaxGestionModal(Formulario, function(list) {
        ActualizarInformacion(list);
    });
//    console.log('sdfsdf');
}
/**
 * 
 * @param {type} id
 * edita el rating de contacto por ajax
 */



/**
 * Guarda Nota con archivos.
 * @autor Armando Maldonado <amaldonado@tradesystem.com.ec>
 * @param {type} url
 * @returns {undefined}
 */
function guardarObjetivo(url) {
    $.ajax({
        type: "POST",
        url: url,
        dataType: 'json',
        data: $('#tarea-objetivo-form').serialize(),
        success: function(data) {
            if (data.success) {
                $('#TareaObjetivo_objetivo').val('');
                $.fn.yiiGridView.update('objetivo-grid');
                $('#progresoObjetivo > div').attr('style', 'width:' + data.porcentaje_no_realizadas + '%');
            } else {
                bootbox.alert(data.error);
            }
        }
    });
}
/**
 * @autor Armando Maldonado <amaldonado@tradesystem.com.ec>
 * @param {type} id
 * @param {type} estado
 * @returns {undefined}
 */
function cambioEstadoObjetivo(id) {
    $.ajax({
        type: "POST",
        dataType: 'json',
        url: baseUrl + 'tareas/tarea/ajaxCambioEstadoObjetivo',
        data: {id: id},
        success: function(data) {
//            console.log(data.porcentaje_no_realizadas);
//            $.fn.yiiGridView.update('objetivo-grid');
            $('#progresoObjetivo > div').attr('style', 'width:' + data.porcentaje_no_realizadas + '%');
        }
    });
}
/**
 * 
 * @param {cadena} url
 * @returns {undefined}
 */
function viewModalCampaniaOwner(url, CallBack)
{
    $.ajax({
        type: "POST",
        url: baseUrl + url,
//        data: {campania_id: entidad_id},
//        data: {id_campania: entidad_id},
        beforeSend: function() {
            showModalLoading();
        },
        success: function(data) {
            showModalData(data);
            CallBack();

        }
    });
}

var selectedValues;
var inputCheckboxElement = [];
function loadActionSelect() {
    inputCheckboxElement['checkRaw'] = $("input[type='checkbox'].ckeckRow");
    inputCheckboxElement.checkRaw.change(function() {
        selectRow($(this).attr('id'));
    });
}
function updateCheckedRaw() {
    $.each(selectedValues, function(index, value) {
        var check_row = $('input#ckb_' + value);
        if (check_row)
        {
            check_row.prop('checked', true);
            check_row.parent().parent().addClass('selected');
        }
    });
    if ($("input.ckeckRow").is(':checked'))
    {
        $("input[type='checkbox']#selectall").prop('checked', true);
    }

}
function selectRow(element)
{

    if ($('input#' + element).is(':checked'))
    {
        $("input.ckeckRow").prop('checked', false);
        $("input.ckeckRow").parent().parent().removeClass('selected');

        $('input#' + element).prop('checked', true);
        $('input#' + element).parent().parent().addClass('selected');
        selectedValues = $('input#' + element).val();
//        console.log(selectedValues);
    }
    else
    {
        $("input.ckeckRow").prop('checked', false);
        $("input.ckeckRow").parent().parent().removeClass('selected');
        selectedValues = '';
//        console.log(selectedValues);
    }
}

/******************************************************************************/

function ajaxAgregar(id_contactos, alerta, cco_id) {
//    console.log(id_contactos, alerta);
alert('asdasd');
    if (selectedValues != '')
    {
//        console.log(selectedValues);
//        console.log(alerta); 
        $.ajax({
            type: 'POST',
            url: baseUrl + "campanias/campania/ajaxCargarFormularioMedioEnvio",
            dataType: 'json',
            data: {
                medio: selectedValues,
                id_contactos: id_contactos,
                alerta: alerta,
                id_campania: entidad_id,
                cco_id: cco_id
            },
            success: function(data, textStatus, jqXHR) {
                if (data.success)
                {
                    showModalData(data.html);
//                    $("#mainModal").modal('hide');
                    ActualizarInformacion("#addUser-grid");
//                    $.fn.yiiGridView.update("addUser-grid");
                }
                else {
                    $("#mainModal").modal('hide');
                    bootbox.alert(data.error, function() {
                        $("#mainModal").modal('show');
                    });
                }
            }
        });
    }
    else
    {
        $("#mainModal").modal('hide');
        bootbox.alert('Seleccione por lo menos un medio de envio.', function() {
            $("#mainModal").modal('show');
        });
    }
}



function AjaxCrearAccion(Formulario)
{
    var listas = new Array();
    listas[0] = 'cuenta-grid';
    BloquearBotonesModal(Formulario);
    AjaxAccionModal(Formulario, function() {
        ActualizarInformacionAccion(listas);
    });
}

function asignarOperadorTodos() {
    $.ajax({
        type: "POST",
        url: baseUrl + "campanias/campaniaClientesOwner/ajaxAgregarCuentaOperador",
        dataType: 'json',
        data: {campania_id: entidad_id},
        success: function(data) {
            if (data.success) {
                bootbox.alert('Se asignaron correctamente los operadores.');
                $('#btn_todos').addClass('hidden');
                ActualizarInformacion('#cuenta-grid');
            } else {
                bootbox.alert(data.error);
            }
        }
    });
}
function loadModalActionSelected(url, data) {

    $.ajax({
        type: "POST",
        url: baseUrl + url,
//            url: baseUrl + "campanias/campaniaClientesOwner/AjaxAsignarOperador",
        dataType: 'json',
        data: data,
        beforeSend: function() {
            showModalLoading();
        },
        success: function(data) {
            if (data.success) {
                showModalData(data.html);
                $('#btn_todos').addClass('hidden');
            } else {
                $('#mainModal').modal('hide');
                bootbox.alert(data.error);
            }
        }
    });

//    AjaxAsignarOperador
}
/**
 * activa las acciones permitidas en la campaña (sms, emial)
 * @returns {undefined}
 */
function activarAcciones()
{
    url = baseUrl + 'campanias/campaniaClientesOwner/ajaxGetAcciones/campania_id/' + entidad_id;
    $.getJSON(url, function(acciones) {
        $('div.accion_cliente').addClass('hidden');
        $.each(acciones, function(key, accion) {
            $('div#divAcction' + accion).removeClass('hidden');
        });
    });

}
function ActualizarInformacionAccion(Listas)
{
    for (var i = 0; i < Listas.length; i++)
    {
        $.fn.yiiGridView.update(Listas[i]);
    }
}

// Acciones segun las acciones de cada campania
function crearLlamada(id, cco_id) {
    var url = "llamadas/llamada/cargarFormularioLlamadaSalienteCampania/contacto_id/" + id + '/campania_id/' + entidad_id + '/camp_clie_owner/' + cco_id;
    viewModal(url, function() {
        maskAttributes();
    });

}
function  crearLlamadaCampania(id, cco_id) {
//    console.log(id,cco_id);
    crearLlamada(id, cco_id);
    return false;
}
function  crearEmailCampania(id, cco_id) {
    medioEnviarMailSolo(id, cco_id);
    return false;
}
/*CArga modal para elegir el medio d eenvio para contactos*/
//alert('entra');
function medioEnviarMailSolo(id, cco_id) {
    $.ajax({
        type: "POST",
//        url: baseUrl + "campanias/campania/ajaxCargarMedioEnvio",
        url: baseUrl + "campanias/campania/ajaxCargarMedioEnvio",
        dataType: 'json',
        data: {
            contacto_id: id,
            campania_owner_id: cco_id,
            campania_id: entidad_id
        },
        beforeSend: function() {
            showModalLoading();
        },
        success: function(data) {
            if (data.success) {
                showModalData(data.html);
//                alert('yes');
                loadActionSelect();
            } else {
                $("#mainModal").modal("hide");
                bootbox.alert(data.error);
            }
        }
    });
}
function  crearSmsCampania(url) {
//    medioEnviarMailSolo(id);
//console.log(baseUrl+url);

    viewModal(url, function() {
    });
    return false;
}